Video on demand system with a transmission schedule table in the video server including entries for client identifiers, video titles, and reproduction start times

ABSTRACT

An on-demand communication system provides a multimedia server connected to a plurality of clients via a network. A data stream can be transmitted in response to a transmission request of a title from a transmission device at the site of the client. The transmission device will transmit a set of reproduction information, including a plurality of titles and reproduction start times to the server along with the client identification. The server contemporarily would store, in a buffer, the reproduction information and the client identifier, read the reproduction information and the client identifier and then create a set of transmission information for each client request. A timer unit can activate a timer assigned to the client to measure time when the data stream transmission device is to start transmitting the data stream to the client.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an on-demand communication systemconsisting of a plurality of clients and servers connected via anetwork.

2. Description of the Related Art

Due to the recent development of communication networks and digital datacompression techniques, new technology are getting commerciallyavailable, One example is digital cable television system in which avideo server and each client in individual household are connected via anetwork and specific programs demanded by each client are provided.Another example is an interactive service system in which a satellitedigital broadcast and telephone lines are used.

FIG. 1 shows construction of the conventional on-demand communicationsystem comprising clients 101, 102, 103, . . . , video server 120, andnetwork 130 connecting each client, and video server 120.

Client 101 comprises external input interface unit 111, client controlunit 112, reproduction schedule table storage unit 113, clock unit 114,client I/O interface unit 115, and output decoder 116. Other clientshave the same construction.

Server 120 comprises data stream storage unit 121, server I/O interfaceunit 122, input queue buffer unit 123, server control unit 124, jobschedule storage unit 125, and data stream output unit 126.

Network 130 comprises a heavy circuit for transmitting data streams fromserver 120 to each client end a thin line for transmitting controlinformation from each client to server 120.

In this on-demand communication system, communication from client 101 toserver 120 is carried out in the following way. A transmission requestis transmitted from client I/O interface unit 115 to server I/Ointerface unit 122 via network 130 such as telephone lines. It is storedin input queue buffer unit 123 and read by server control unit 124. Onthe other hand, communication from server 120 to client 101 is carriedout in the following way. A data stream is transmitted from server I/Ointerface unit 122 and processed by client control unit 112. It takesthree to five seconds as the processing time of the communication fromclient 101 to server 120, which is longer than the other way around.

In an on-demand communication system thus constructed, in order toobtain a multi-media title of the desired date stream from server 120, aviewer transmits a request of the multimedia title information fromremote controller 141 to external input interface unit 111 in client101. Next, client 101 transmits the request to server 120 via network130, obtains the information from server 120, and stores the informationin reproduction schedule table in reproduction schedule table storageunit 113. FIG. 2 shows an example of a reproduction schedule table ofmulti-media tittles. In this reproduction schedule table 201,reproduction video name 202, reproduction start point 203, andreproduction end point 204 are stored chronologically with reproductionstart time 205 of the first video data being "00:00:00" (hours: minutes:seconds).

In order to reproduce a data stream according to reproduction scheduletable 201, a viewer transmits a request to select reproduction scheduletable 201 from remote controller 141 to client 101. Client control unit112 receives this request via external input interface unit 111, refersto reproduction schedule table 201 stored in reproduction schedule tablestorage unit 113, and instructs client I/O interface unit 115 totransmit a transmission request of the data streams of "Video A" and"Video B" which are placed together in a chronological order (there isno time difference between reproduction end point 204 and reproductionstart point of the next video). On receiving the instruction, client I/Ointerface unit 115 transmits the transmission request of "Video A" and"video B" to server I/O interface unit 122 via network 130.

In server 120, I/O interface unit 122 stores the transmission request of"Video A" and "video B" in input queue buffer unit 123 along with theclient name. Server control unit 124 reads the transmission request ofclient 101 in input queue buffer unit 123, posts "Video A" and theclient name to data stream output unit 126, and then, stores "Video B"and the client name in job schedule storage unit 125. Data stream outputunit 126 locates the start of the data stream of "Video A" from datastream storage unit 121 and outputs it to server I/O interface unit 122along with the client name. Server I/O interface unit 122 transmits thedata stream of "Video A" to client 101 which has transmitted thetransmission request via network 130, After completing transmission ofthe data stream of "Video A", data Stream transmission unit 121 poststhe client name to server control unit 124. Server control unit 124reads "Video B" stored in job schedule storage unit 125 along with theclient name, and posts them to data stream output unit 126. After that,data stream output unit 126 locates the start of the data stream of"Video B" from data stream storage unit and transmits it to server I/Ointerface unit 122 along with the client name. Next, server I/Ointerface unit 122 transmits the data stream of "Video B" to client 101.

In client 101, on receiving the notification of the data stream of"Video A" transmitted from server 120 via network 130, external inputinterface unit 115 posts it to output decoder unit 116 via clientcontrol unit 112.

By referring to the clock in clock unit 114, client control unit 112sets "00:00:00" as a start time in order to start measuring time whenoutput decoder unit 116 reproduces "video A" on TV monitor 142 bydeciphering the data stream. When the reproduction of "Video A" iscompleted, time measuring is also completed. The moment at that time"00:00:30" is stored. When output decoder unit 116 reproduces "Video B"again, time measuring is resumed from "00:00:30". When the reproductionof "Video B" is completed, the time is "00:01:15". Referring toreproduction schedule table 201 in reproduction schedule storage unit113, client control unit 112 reads that "Video C" should be reproducedin 15-second null time after the reproduction of "Video B" is completed.When the time is "00:01:30", client control unit 112 instructs clientI/O interface unit 115 to transmit transmission request of the datastream of "Video C". The transmission request from client I/O interfaceunit 115 is stored in queue buffer unit 123 in server 120 and read byserver control unit 124. The date stream of "Video C" is transmitted toclient 101 like the case of "Video A" and "Video B".

FIG. 3 is the time chart of the video reproduction which is handled inthe above mentioned way. In this figure, the horizontal line at thebottom shows time. The top line shows operations of server 120, and themiddle line shows those of client 101. At A₀, client 101 transmits thetransmission request to server 120. At A₁, the start of the data streamof "Video A" is located in server 120. At A₂, the transmission of thedata stream to client 101 starts. At the same time, "Video A" isreproduced in client 101. At A₃, the reproduction is completed, andlocating the start of the data stream of "Video B" stored in server 120.At A₄, transmission of the data stream starts. At A₅, reproduction of"Video B" is completed in client 101. After that, there is a null time.At A₆, the transmission request of "Video C" is transmitted to server120. In server 120, the start of the data stream of "Video C" is locatedat A₇. At A₈, transmission of the data stream of "Video C" to client 101starts. In client 101, reproduction of "Video C" starts at A₈. At A₉,the reproduction is completed.

In client 101, if a viewer gives instruction to stop "Video A" which isbeing reproduced on TV monitor 142 for a brief period of time by usingremote controller 141, external input interface unit 111 receives thesignal of remote controller 141 and posts it to client control unit 112.Client control unit 112 instructs output decoder unit 116 to stop thereproduction of the video for a brief period of time, and also instructsclient I/O interface unit 115 to transmit a pause request of the datastream transmission to server 120. On receiving the instruction, outputdecoder unit 116 stops reproduction of "Video A". Client I/O interfaceunit 115 transmits the client name and the pause request of the datastream transmission to server I/O interface unit 122 in server 120 vianetwork 130.

In server 120, server I/O interface unit 122 receives the pause requestof the data stream transmission and the client name from client 101, andstores them in input queue buffer unit 123. On reading the pause requestof the data stream transmission stored in input queue buffer unit 123,server control unit 124 instructs data stream transmission unit 126 tostop the transmission of the data stream. On receiving this instruction,data stream transmission unit 126 stops reading the data stream fromdata stream storage unit 121 and transmitting the data stream to serverI/O interface unit 122.

When a viewer instructs "cancel pause" by using remote controller 141,external input interface unit 111 posts the instruction to clientcontrol unit 112. Client control unit 112 instructs client I/O interfaceunit 115 to transmit the "cancel pause" request. Client I/O interfaceunit 115 transmits "cancel pause" request to server I/O interface unit122 via network 130.

On receiving the notification of the "cancel pause" request, server I/Ointerface unit 122 stores it and the client name in input queue bufferunit 123. On reading the "cancel pause" request stored in input queuebuffer unit 123, server control unit 124 posts the request and theclient name to data stream transmission unit 126, Data streamtransmission unit 126 resumes reading the data stream and transmits itto server I/O interface unit 122. Server I/O interface unit 122transmits the data stream to client 101 via network 130. On receivingthe notification of the data stream, client 101 outputs it to TV monitor142 for reproduction. FIG. 4 shows a time chart of reproducing a videowhose reproduction is stopped for a brief moment and resumed after that.The same parts as FIG. 3 are given the same reference characters andnumbers. At B₁, a viewer designates a pause in the reproduction of"video A" by using remote controller 141 and TV monitor 142 immediatelystops the reproduction. However, server 120 continues outputting thedata stream until B₂. At B₃, the viewer designates cancelling a pause inthe reproduction of video. At B₅, reproduction of "Video A" is resumedon TV monitor 142.

However, the above mentioned on-demand communication system has someproblems. As is apparent from FIGS. 3 and 4, it takes dT_(i) +dT₅ fromA₀ to A₂ : dT₁ is the time needed for storing and processing thetransmission requests from client 101, 102, 103, . . . in queue bufferunit 123, which is three to five seconds in average; and dT_(a) is thetime needed to locate the start of the data stream of the video. In thecase of video which is reproduced without a pause, dT₁ exists only atthe beginning when the transmission request is transmitted. In the caseof a video which has a null time T₀ at some mid point, dT₂ which is thesame time period as dT₁ is needed in order to create a transmissionrequest again. And the reproduction of the video delays by the amount oftime dT₂. This dT₂ can be neglected when reproducing conventional videoprograms as they are reproduced at a dash in most cases. However, dT₂can be irritating when a different short video programs are notreproduced continuously.

As is shown in FIG. 4, when video reproduction is stopped and resumedafter a brief period of time, it takes dTP for server 120 to stoptransmission of the data stream. Therefore, the data stream which willbe transmitted when the transmission of the data stream is resumed isahead of the video which is outputted by TV monitor 142 by dTP.Therefore, a part of the video which is equivalent to dTP will not bereproduced. As is apparent from FIGS. 3 and 4, not only dTP, but alsodTa, dTb, and dTc are irritating to viewers.

SUMMARY OF THE INVENTION

An object of the present invention is to provide an on-demandcommunication system which does not require time for processing thetransmission request of the data stream while the video reproduction isgoing on.

Another object of the present invention is to provide an on-demandcommunication system in which no jumping of the video reproductionoccurs between a pause instruction and a pause cancel instruction.

Still another objective of the present invention is to provide anon-demand communication system in which video reproduction is notdelayed due to the time needed for locating the start of each datastream of the title of the transmission request.

According to the following two features, it is possible to omit the timeneeded for the processing of the transmission request while the datastream is transmitted.

(1) An on-demand communication system in which a plurality of clientsand a multi-media server are connected via a network and a data streamis transmitted in response to a transmission request of a title from oneof the clients, each client comprising: a transmission device whichtransmits a set of reproduction information comprising a plurality oftitles and reproduction start time of each of their the data streams tothe server along with a client identifier for identification; areception device for receiving the data stream transmitted from theserver; and a reproduction and output device for reproducing andoutputting the data stream received by the reception device, the servercomprising: a reception buffer for temporarily storing the set of thereproduction information and the client identifier transmitted from thetransmission device; a transmission information creation device forreading the set of the reproduction information and the clientidentifier stored in the reception buffer and creating a set oftransmission information for each client, wherein the transmissioninformation includes a title and a transmission start time that areequal to the title and the reproduction start time in the reproductioninformation; a transmission information storage device for storing theset of the transmission information for each client which was created bythe transmission information creation device; a data stream storagedevice for storing groups of data stream per titles a transmissioninstruction device for reading the set of the transmission informationstored in the transmission information storage device and giving atransmission instruction when the transmission start time comes; and adata stream transmission device for reading the data stream whichcorresponds to the title in the transmission information and is storedin the data stream storage device and transmitting it to the client,wherein the transmission instruction includes the title and the clientidentifier.

(2) The transmission information created by the transmission informationcreation device may comprise transmission point information including atransmission start point and a transmission end point of the data streamof the title, wherein the reproduction information transmitted from theclient includes reproduction point information including a reproductionstart point and a reproduction end point of the data stream of thetitle, wherein the transmission instruction device of the server mayinclude: a timer unit which activates a timer assigned to the client andmeasures time when the data stream transmission device startstransmitting the data stream; a transmission start determination unitfor determining whether the time measured by the timer unit has reachedthe transmission start time; and an instruction unit which instructs thedata stream transmission device to transmit the data stream, posting thetransmission point information, when the transmission startdetermination unit determines that the time measured by the timer unithas reached the transmission start time, wherein the data streamtransmission device may include; a start-locating unit for locating thestart of the date stream on being given the transmission instructionincluding the transmission start point of the data stream of the titlefrom the instruction unit; a timer interruption unit which stops thetimer in the timer unit while the start-locating unit is locating thestart of the data stream; and a transmission unit for transmitting thedata stream up to the transmission end point after the start of the datastream is located by the start-locating unit.

According to the following two features, even if the null time existsbetween the data streams of the titles, it is possible to realize thesame processing as the one of the transmission request which does notinclude the null time.

(3) The client may further include; a reproduction information addingdevice which adds new reproduction information between continuing twounits of reproduction information when the null time can be recognizedby the reproduction start time and the reproduction point informationbetween two data streams belonging to the continuing two units ofreproduction information, respectively, the new reproduction informationincluding a dummy title and reproduction start time of the data streamof the dummy title, wherein the reproduction information transmitted bythe transmission device comprises the reproduction point informationshown by the time needed when the reproduction start point and thereproduction end point of the data stream of the title are reproducedunder a normal condition; a reproduction and output prohibiting devicefor prohibiting the reproduction and output of the reproduction outputdevice while the reception device is receiving the dummy data stream,which includes a reproduction and output prohibiting request, the servermay further include; a dummy data stream storage device for storing thedummy data stream of the dummy title; and a dummy data streamtransmission device which reads the dummy data stream stored in thedummy data stream storage device and transmits it to the client when thedummy title is included in the transmission instruction.

(4) The reproduction information adding device may include: areproduction end time calculating unit which calculates K₄ =K₁ +(K₃-K₂), with K₁ being the reproduction start time, K₂ being thereproduction start point, K₃ being the reproduction end point, and K₄being the reproduction end time of the data stream of the title; a nulltime determination unit which determines that null time exists when K₆≠0 after calculating K₆ =K₅ -K₄, with K₅ being the reproduction starttime of the data stream of the next title; a reproduction informationinserting unit which inserts the reproduction information of the dummytitle whose data stream reproduction start time is K₄, data streamreproduction start point is "O", and data stream reproduction end pointis K₆ when the null time determination unit determines that the nulltime exists.

According to the following two features, it is possible to guarantee thecontinuity of the data stream to be reproduced and outputted even if theviewer temporarily stops the reproduction and output and cancels thepause later.

(5) Each client may further include; a reproduction pause operationdevice which temporarily stops the reproduction and output of thereproduction Output device; a reproduction time measuring device whichmeasures the reproduction time of the data stream of the title until thereproduction and output of the reproduction output device is temporarilystopped; a pause request transmission device which transmits a pauserequest of the transmission of the data stream to the server when thereproduction and output is temporarily stopped; a pause cancel operationdevice which receives a cancel request of the pause; a reproductioninformation change device which changes the set of the reproductioninformation based on the reproduction time measured by the reproductiontime measuring device when the cancel request is received, wherein thereproduction information comprises the reproduction point informationincluding the reproduction start point and the reproduction end point ofthe date stream of the title; a cancel request transmission device fortransmitting the client identifier and the set of the reproductioninformation changed by the reproduction information change device to theserver along with the cancel request, wherein the server may furtherinclude: a pause request and cancel request receiving buffer whichtemporarily stores the pause request transmitted from the pause requesttransmission device and the cancel request including the set of thereproduction information and the client identifier transmitted from thecancel request transmission device; a transmission pause instructiondevice which reads the pause request stored in the pause request andcancel request receiving buffer and instructs the data streamtransmission device to temporarily stop the transmission of the datastream to the client, thereby the data stream transmission devicetemporarily stops the transmission of the data stream to the client; atransmission information change device which reads the set of thereproduction information and the client identifier stored in the pauserequest and cancel request receiving buffer, creates new transmissioninformation, and changes the transmission information of the clientalready stored in the transmission information storage device to the newtransmission information; and a pause cancel instruction device whichactivates the transmission instruction device when the transmissioninformation change device changes the transmission information.

(6) The reproduction information change device may include areproduction start time calculating unit which calculates TN=TN-(TB+TD), with TB being the reproduction start time of the data ofthe title whose reproduction and output is temporarily stopped, TN beingthe start time of the data stream of the title to be reproduced afterthe said title, TD being the reproduction time measured by thereproduction time measuring device; a reproduction information updatingunit which updates the start time of the data stream of the title to bereproduced after the title whose reproduction and output is temporarilystopped to TN calculated by the reproduction start time calculationunit, the start time of the data stream of the title whose reproductionand output is temporarily stopped to "O", and "TR" to "TR+TD", with TRbeing the reproduction start point of the title whose reproduction andoutput is temporarily stopped; a reproduction information deletion unitfor deleting the reproduction information of the title reproduced beforethe title whose reproduction and output is temporarily stopped from theset of the reproduction information.

According to the following four features, it is possible to preventdiscontinuation of the output due to the locating of the start of thedate stream to be reproduced and outputted.

(7) The server may further include: a start-locating instruction devicewhich reads the set of transmission information stored in thetransmission information storage device and instructs locating a startof the data stream at a given time earlier than the transmission starttime; and a data stream start-locating device for locating the start ofthe data Stream on receiving the instruction from the start-locatingdevice.

(8) The transmission information created by the transmission informationcreation device may comprise transmission point information including atransmission start point and a transmission end point of the data streamof the title, and the reproduction information transmitted from theclient includes reproduction point information including a reproductionstart point and a reproduction end point of the data stream of thetitle, wherein the start-locating instruction device of the server mayinclude: a first timer unit which activates a timer assigned to theclient and measures time when the data stream transmission device startstransmitting the data stream; a launch of start-locating determinationunit for determining whether the time measured by the timer unit hasreached the given time earlier than the transmission start time; and afirst instruction unit which instructs the data stream start-locatingdevice to locate the start of the data stream, posting the transmissionstart point of the data stream of the title.

(9) The transmission instruction device of the server may include; asecond timer unit which activates a timer assigned to the client andmeasures time when the data stream transmission device startstransmitting the data stream; a transmission start determination unitfor determining whether the time measured by the timer unit has reachedthe transmission start time; and a second instruction unit whichinstructs the data stream transmission device to transmit the datastream, posting the transmission end point of the data stream of thetitle.

(10) The reproduction point information and the transmission pointinformation may be shown by the time needed when the data stream of thetitle is reproduced under a normal condition.

(11) Each client may further include: a reproduction informationobtaining device for obtaining a list of the sets of reproductioninformation which can be received from the server; and a reproductioninformation set selection device which receives one of the sets of thereproduction information selected by a viewer.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, advantages and features of the invention willbecome apparent from the following description thereof taken inconjunction with the accompanying drawings which illustrate a specificembodiment of the invention. In the drawings:

FIG. 1 shows construction of the conventional on-demand communicationsystem;

FIG. 2 shows an example of reproduction schedule table stored in areproduction schedule table storage unit of the above mentionedon-demand communication system;

FIG. 3 is a time chart of the video reproduction in the above mentionedon-demand communication system;

FIG. 4 shows a time chart of reproducing a video whose reproduction isstopped for a brief moment and resumed after that;

FIG. 5 shows construction of an on-demand communication system of thefirst embodiment of the present invention;

FIG. 6 shows an example of reproduction schedule table stored in areproduction schedule table storage unit of the first embodiment;

FIG. 7 shows an example of a transmission schedule table stored in thejob schedule storage unit of the first embodiment;

FIG. 8 shows a time chart of video reproduction of the first embodiment;

FIG. 9 shows a flowchart which explains operations of the firstembodiment;

FIG. 10 shows a flowchart which explains operations of the firstembodiment;

FIG. 11 shows construction of an on-demand communication system of thesecond embodiment of the present invention;

FIG. 12 shows an example of a reproduction schedule table created in theschedule unification unit of the second embodiment;

FIG. 13 shows an example of the transmission schedule stored in the jobschedule storage unit of the second embodiment;

FIG. 14 shows a time chart of video reproduction of the secondembodiment;

FIG. 15 shows construction of an on-demand communication system of thethird embodiment of the present invention;

FIG. 16 shows an example of a reproduction schedule table changed in thestop time confirmation unit of the third embodiment;

FIG. 17 shows a time chart of video reproduction of the thirdembodiment;

FIG. 18 shows a flowchart which explains operations of the thirdembodiment;

FIG. 19 shows a flowchart which explains operations of the thirdembodiment;

FIG. 20 shows a flowchart which explains operations of the thirdembodiment;

FIG. 21 shows construction of an on-demand communication system of thefourth embodiment of the present invention;

FIG. 22 shows a time chart of video reproduction of the fourthembodiment; and

FIG. 23 shows a flowchart which explains operations of the fourthembodiment.

DESCRIPTION OF THE PRESENT EMBODIMENT

(Embodiment 1)

FIG. 5 shows construction of the on-demand communication system of thefirst embodiment of the present invention.

This on-demand communication system comprises a plurality of clients501, 502, 503, . . . , server 520, and network 530 connecting eachclient and server 520.

Client 501 comprises external input interface unit 511, client controlunit 512, client I/O interface unit 513, reproduction schedule tablestorage unit 514, clock unit 515, output decoder unit 516, remotecontroller 541 which is an input device for inputting a viewerinstruction to external input interface unit 511, and TV monitor 542which outputs the video reproduced in output decoder unit 516.

Server 520 comprises server I/O interface unit 521, input queue bufferunit 522, server control unit 523, job schedule storage unit 524, alarminterrupt unit 525, data stream storage unit 526, and data stream outputunit 527.

Remote controller 541 comprises the following buttons: a schedulerequest button for requesting transmission of the reproduction scheduletable which stores the video reproduction schedule of server 520; aschedule selection button for selecting one of a plurality ofreproduction schedule tables transmitted from server 520; and buttonsfor pause of video reproduction, restart of the reproduction, end,forward, and rewind. When the viewer presses one of those buttons,remote controller 541 outputs a corresponding operation signal toexternal input interface unit 511.

On receiving the notification of the operation signal of transmissionrequest of the reproduction schedule table from remote controller 541,external input interface unit 511 posts it to client control unit 512.On receiving the notification of the operation signal of the selectedreproduction schedule table, external input interface unit 511 posts theselected reproduction schedule table to client control unit 512.

Client control unit 512 comprises CPU and controls each unit of client501. On receiving the notification of the transmission request of thereproduction schedule table from external input interface unit 511,client control unit 512 instructs client I/O interface unit 513 torequest server 520 to transmit the reproduction schedule. on receivingthe notification of the reproduction schedule table from client I/Ointerface unit 513, client control unit 512 stores it in reproductionschedule table storage unit 514 and also posts it to output decoder unit516.

On receiving the notification of the designated reproduction scheduletable from external input interface unit 511, client control unit 512reads it from reproduction schedule table storage unit 514 and posts itto client I/O interface unit 513.

On receiving the designation of the data stream from client I/Ointerface unit 513, client control unit 512 posts it to output decoderunit 516. Also, by referring to clock unit 515, client control unit 512measures video reproduction time, setting the time at which outputdecoder unit 516 started video reproduction as "00:00:00". When thevideo reproduction is paused, client control unit 512 does not measuretime.

On receiving the instruction of the transmission request of thereproduction schedule table from client control unit 512, client I/Ointerface unit 513 transmits the transmission request of thereproduction schedule table with the client name for identification toserver I/O interface unit 521 via network 530.

On receiving the notification of the reproduction schedule table fromclient control unit 512, client I/O interface unit 513 transmits thereproduction schedule table with the client name for identification toserver I/O interface unit 521 via network 530.

On receiving the notification of the data stream from server I/Ointerface unit 521 via network 530, client I/O interface unit 513 postsit to client control unit 512.

Reproduction schedule table storage unit 514 is composed of RAM and thelike, is written a plurality of reproduction schedule tables sent fromserver 520 by client control unit 512. FIG. 6 shows an example of thereproduction schedule table. In reproduction schedule table 610, thecolumn of reproduction video name 603 comprises multi-media titles. Thereproduction start time 602 of the first video is set as "00:00:00"According to this table, "video A" is reproduced at "00:00:00", "VideoB" at "00:01:30", and "Video C" at "00:01:30". Reproduction start point604 and reproduction end point 605 of each reproduction video name 603are shown under the condition that the videos are reproduced from thestart at the normal state. Here, the multi-media titles means the datastream that server 520 is requested from client 501.

Clock unit 515 comprises a clock and is referred to by client controlunit 512.

On receiving the notification of the reproduction schedule table fromclient control unit 512, output decoder unit 516 displays it on TVmonitor 542. In this way, the viewer can select one of the productionschedule tables.

On receiving the notification of the data stream from client controlunit 512, output decoder unit 516 decodes the coded data stream andoutputs it to TV monitor 542 for display.

On receiving the notification of the transmission request of thereproduction schedule table from client I/O interface unit 513 vianetwork 530, server I/O interface unit 521 stores the transmissionrequest of the client name and the reproduction schedule table in inputqueue buffer unit 522. On receiving the notification of the client nameand the reproduction schedule table from data stream output unit 527,server I/O interface unit 521 transmits the reproduction schedule tableto client I/O interface unit 513 of client 501 which is identified bythe client name via network 521.

On receiving the notification of the reproduction schedule table and theclient name from client I/O interface unit 513 via network 530, serverI/O interface unit 521 stores them in input queue buffer 522.

On receiving the notification of the client name and the data streamfrom data stream output unit 527, server I/O interface unit 521transmits the data stream to client I/O interface unit 513 of client 501which is identified by the client name via network 530.

Input queue buffer unit 522 is composed of RAM and the like, andtemporarily stores the transmission request of the reproduction scheduletable received by server I/O interface unit 521 and the reproductionschedule table along with the client name.

Server control unit 523 comprises CPU and controls the entire server520. On reading the transmission request of the reproduction scheduletable from client 501, 502, 503, server control unit 523 instructs datastream output unit 527 to transmit the reproduction schedule table andthe client name.

On reading the reproduction schedule table which is the transmissionrequest of the data stream from each client in input queue buffer unit522, server control unit 523 converts the reproduction schedule table tothe transmission schedule table for each client, stores it in jobschedule storage unit 524, and sets a timer for each client whichrequests transmission of the date stream in alarm interrupt unit 525. Atthe same time, server control unit 523 posts the fist transmission videoname, its transmission start point and transmission and point stored intransmission schedule table in job schedule storage unit 514 and theclient name to data stream output unit 527. At this time, server controlunit 523 gives "*", which means that the data stream is being outputted,to the transmission video name in the transmission schedule table in jobschedule storage unit 524. On receiving the notification that the outputof the date stream is started from data stream output unit 527 alongwith the client name, server control unit 525 initializes and starts thetimer for client 501 in alarm interrupt unit 525.

On receiving the notification of the client name from alarm interruptunit 525, server control unit 523 reads the transmission video namewhich is next to the video marked with "*" in the transmission scheduletable for client 501 in job schedule storage unit 524 and removes themark "*" to it. At the same time, server control unit 523 posts thetransmission video name, its transmission start point and transmissionend point, and the client name to the data stream output unit 527. Onreceiving the notification that the output of the data stream is startedfrom data stream output unit 527 along with the client name, servercontrol unit 523 re-activates the timer for client 501 in alarminterrupt unit 525.

Job schedule storage unit 524 is composed of RAM. Transmission scheduletables which are the transmission request of the data streams arewritten into job schedule storage unit 524 by server control unit 523for each client. And server control unit 512 gives the mark "*" to thetransmission video name, which means that the data stream transmissionunit 527 is transmitting the data stream of its tittle.

FIG. 7 shows transmission schedule table 701 when the data stream of"Video A" is transmitted to client 501 (client name "A"). "Video A" inthe column of transmission video name 702 is given "*" 703. Reproductionschedule table 601 stored in reproduction schedule table storage unit514 in client 501 and transmission schedule table 710 are basically thesame except that client 704 is stored and that the name "reproduction"and "transmission" are different.

Alarm interrupt unit 525 has timers for each client. When one of thetimers is activated by server control unit 523, it continues measuringtime until the start time of the title to be transmitted next in thetransmission schedule table corresponding to the client of the timer injob schedule storage unit 524 (the transmission video name which is nextto the one marked with "*"). When the timer reaches that time, it stops,and the client name is posted to server control unit 523. When the timeris reactivated by server control unit 523, the timer continues measuringtime until the start time of the tittle which should be transmitted nextWhen the timer reaches that start time, alarm interrupt unit 525 poststhe client name to server control unit 523.

Data stream storage unit 526 is composed of an optical disk, a magneticdisk and the like, and stores the date stream shown by the multi-mediatitle provided by server 520 and the reproduction schedule table.

On receiving the instruction of the transmission of the reproductionschedule table from server control unit 523, data stream output unit 527reads the reproduction schedule table stored in data stream storage unit526 and posts it to server I/O interface unit 521 along with the clientname.

On receiving the notification of the transmission video name, itstransmission start point and transmission end point, and the client namefront server control unit 523, data stream output unit 527 locates thestart of the data stream shown by the transmission video name in datastream storage unit 526 and outputs the data stream to I/O interfaceunit 521 along with the client name. When the transmission of the datastream is started, data stream output unit 527 notifies server controlunit 523 that the transmission of the client name and the data streamhave been started.

Network 530 is composed of telephone lines and optical fiber circuits.Transmission from each client to server 520 is carried out by thetelephone lions and the other way around is by the optical fibercircuits.

FIG. 8 shows the time chart of the video reproduction in the on-demandcommunication system mentioned above. In this figure, the horizontalline at the bottom shows time, The top line shows operations of server520, and the middle line shows those of client 501. The thick line ofserver 520 shows that the data stream is being transmitted. Thedifference between FIG. 8 and FIG. 3, which is the time chart of theconventional on-demand communication system, is that dT₂ between A₆ andA₇ does not exist in FIG. 8.

This can be explained as follows. In the case of FIG. 3, client 501transmitted the transmission request of the data stream by showingdifferent reproduction video names which do not continue. On the otherhand, in the case of FIG. 8, server 520 has the transmission scheduletable in which the transmission start time of each transmission videoname is stored with the start time of the first video reproduction being"00;00;00".

The operations of the present embodiment can be explained as follows bymeans of the flowcharts shown in FIGS. 9 and 10.

When the viewer operates remote controller 541 to request transmissionof the reproduction schedule table so as to select the title of thevideo to be reproduced on TV monitor 542, client 501 transmits thetransmission request of the reproduction schedule table to server 520via network 530 (Step 902). Server 520 receives the transmission requestof the reproduction schedule table from client 501 and transmits aplurality of reproduction schedule tables to client 501. Client 501receives the reproduction schedule tables and stores them inreproduction schedule table storage unit 514 and displays them on TVmonitor reception 542 (Step 904).

Client control unit 512 waits the reproduction schedule table selectedby remote controller 541 via external input interface unit 511 (Step906), roads the selected reproduction schedule table, and posts it toclient I/O interface unit 513 and instructs client I/O interface unit513 to transmit the transmission request of the data stream. Client I/Ointerface unit 513 transmits the client name which identifies itself andthe reproduction schedule table to server I/O interface unit 521 (Stop908).

Server I/O interface unit 521 stores the reproduction schedule table andthe client name in input queue buffer unit 522 (Step 910).

Server control unit 523 reads the reproduction schedule table and theclient name stored in input queue buffer unit 522, converts thereproduction schedule table to transfer schedule table. After that,server control unit 523 stores them in job schedule storage unit 524.Server control unit 523 does so for each client (Step 912). Servercontrol unit 523 posts the first transmission video name of thetransmission schedule table, its transmission start point andtransmission end point, and the client name to data stream output unit527 (Step 914).

Data stream output unit 527 locates the start of the data stream fromthe transmission video name and its transmission start point (Step 916),and after that, reads the data stream, gives the client name, andtransmits it to I/O interface unit 521. Also, data stream transmissionunit 527 notifies server control unit 523 that the data stream has beentransmitted. Server I/O interface unit 521 transmits the data stream tothe client identified by the client name, and server control unit 523activates the timer of the client in alarm interrupt unit 525 (Step918).

The client that has received the data stream reproduces and outputs thevideo (Step 920).

Server control unit 523 reads the transmission schedule table of thenotified client from job schedule storage unit 524, and determines ifthere is the video name which should be transmitted next (Step 1001). Ifnot, server control unit 523 ends processing when the on-goingtransmission of the data stream ends.

If there is the video name which should be transmitted next, alarminterrupt unit 525 waits until the timer of the corresponding clientreaches the start time of the next transmission video in thetransmission schedule table stored in job schedule storage unit 524(Step 1002), stops the timer for a moment (Step 1004), and posts theclient name to server control unit 523. Server control unit 523 poststhe transmission video name, its transmission start point andtransmission end point, and the client name to data stream output unit527, and removes the mark "*" which shows that the data stream is beingtransmitted to that transmission video name (Stop 1006).

Data stream output unit 527 locates the start of the data stream to betransmitted (Step 1008), reads the data stream from data stream storageunit 526, posts it to server I/O interface unit 521 along with theclient name, and posts the client name to server control unit 523.Server control unit 523 re-activates the time of the client in alarminterrupt unit 525, and server I/O interface unit 521 transmits the datastream to client 501 (Step 1010). Client 501 reproduces and outputs thedata stream (step 1012), and goes back to Step 1002.

(Embodiment 2)

FIG. 11 shows construction of the on-demand communication system of thesecond embodiment of the present embodiment. This on-demandcommunication system comprises a plurality of clients 1101, 1102, 1103,. . . and server 1120, and network 530 connecting each client and server1120.

Client 1101 comprises external input interface unit 511, client controlunit 1111, client I/O interface unit 513, reproduction schedule tablestorage unit 514, schedule unification unit 1112, clock unit 515, outputdecoder unit 1113, remote controller 541 which in an input device forinputting a viewer instruction to external input interface unit 511, andTV monitor 542 which outputs the video reproduced in output decoder unit1113.

Server 1120 comprises server I/O interface unit 521, input queue bufferunit 522, server control unit 1121, job schedule storage unit 524, datastream storage unit 1122, and data stream output unit 527.

The same construction elements as the ones in the first embodiment aregiven the some reference numbers and no explanations are given for them.The following explanation will focus on only the differences with thefirst embodiment.

Client control unit 1111 stores the reproduction schedule table postedby client I/O interface unit 513 in reproduction schedule table storageunit 514. On receiving the notification of the selected reproductionschedule table from external input interface unit 511, client controlunit 1111 posts it to schedule unification unit 1112. On receiving thenotification of the reproduction schedule table from scheduleunification unit 1112, client control unit 1111 posts the reproductionschedule table to client I/O interface unit 513.

Other functions are the same as those of client control unit 512 of thefirst embodiment.

On receiving the notification of the designated reproduction scheduletable from client control unit 1111, schedule unification unit 1112reads the designated reproduction schedule table stored in reproductionschedule table storage unit 514, and inserts a title of multi-mediahaving dummy data stream in the null time during the video reproductionin the reproduction schedule table.

Schedule unification unit 1112 calculates K₄ =K₁ +(K₃ -K₂), with K₁being the reproduction start time of each video, K₂ being thereproduction start point of each, K₃ being the reproduction end point ofeach. Schedule unification unit 1112 determines whether K₅ which is thereproduction start time of the next reproduction video equals to K₄. Ifthat is not the case, schedule unification unit 1112 calculates K₆ =K₅-K₄, and after the video concerned, inserts the reproduction informationwhose start time is "K₄ ", reproduction vide name is "Video Null",reproduction start point is "00:00:00", reproduction end point is "K₆ ",and creates reproduction schedule table.

For example, when reproduction schedule table 601 shown in FIG. 6 isdesignated, in the case of reproduction video name "Video A", K₄=00:00:00+(00:00:30-00:00:00)=00:00:30, and it is equal to K₅"00:00:30". In the case of reproduction video name "Video B", K₄=00:00:30+(00:01:15-00:00:30)-00:01:15, and it is not equal to K₅ whichis "00:01:30". Therefore, K₆ -K₅ -K₄ =00:01:30-00:01:15=00:00:15 iscalculated, and as shown in FIG. 12, a new reproduction video name isinserted in reproduction schedule table 1201. This title is identifiedby reproduction video name "Video Null".

On completing creation of the new reproduction schedule table, scheduleunification unit 1112 notifies the new reproduction schedule table toclient control unit 1111.

In addition to the functions of the output decoder unit 516 of the firstembodiment, if the data stream being posted from client control unit1111 is "Video Null", output decoder unit 1113 does not output the videoto TV monitor 542 for reproduction.

Server I/O interface unit 521 receives the client name and thereproduction schedule table transmitted from client I/O interface unit513, and stores them in input queue buffer unit 522.

Server control unit 1121 monitors input queue buffer unit 522, and onreading the client name and the reproduction schedule table from client1101, converts the table to transmission schedule table 1301 and storesit in job schedule storage unit 524 as shown in FIG. 13. At the sametime, server control unit 1121 posts the start time "00:00:00", thetransmission video name "video A", the transmission start point"00:00:00", the transmission end point "00:00:30", and the client name"A" to data stream output unit 527, and gives a transmission mark to thetransmission video name, the mark showing the data stream is beingtransmitted, On receiving the client name from data stream output unit527, server control unit 1121 posts the transmission video name which isnext to the one with the transmission mark, with its transmission startpoint, transmission end point, and client name to data stream outputunit 527, and removes the transmission mark to the next transmissionvideo name.

According to the present embodiment, "Video Null" is put into the partwhere the transmission of the data stream is discontinued so that alarminterrupt unit 525 of the first embodiment can be omitted. Aside fromthat, server control unit 1121 has the same functions as alarm interruptunit 525.

Data stream storage unit 1122 is almost the same as data stream storageunit 526 of the first embodiment, but it stores dummy data stream in thepresent embodiment. Its video name is "Video Null". It contains arequest by which output for video reproduction is stopped at outputdecoder unit 516 of client 1101 while the notification of this datastream is received.

It is also possible to change this "Video Null" to the data streamcomprising multi-media attribute of audio only so that only audio isreproduced in output decoder unit 516.

Data stream output unit 527 posts the client name to server control unit1121 when the transmission of the data stream is completed in thepresent embodiment, unlike it notified server control unit 523 thattransmission of the client name and the data stream is started when thetransmission of then data stream is started in the first embodiment.

FIG. 14 shows the time chart of the video reproduction in the on-demandcommunication system mentioned above. What is different from the timechart of the on-demand communication system of the first embodiment(FIG. 8) is that dTn between A₅ and A₁₀ is generated for finding thestart of the data stream of "Video Null". The time needed for findingthe start, such as dTa, dTb, dTn, and dTc, are shorter than the timesuch as dT1, which is one second or so, from the moment the transmissionrequest of the data stream is transmitted from client 1101 to server1120 to the moment the start of the data stream is located.

The operations of the present embodiment can be explained as follows bymeans of the flowcharts of FIGS. 9 and 10 of the first embodiment, butit focuses on only the points different from the first embodiment.

Instead of Step 908, client control unit 1111 posts the selectedreproduction schedule table to schedule unification unit 1112. Scheduleunification unit 1112 reads the designated reproduction schedule tablefrom reproduction schedule table storage unit 514, and when adisconnected part arises in video reproduction, "Video Null" is insertedinto the reproduction schedule table so that "Video Null" is reproducedfor only that disconnected part. When the creation of the newreproduction schedule table is completed, the reproduction scheduletable is posted to client control unit 1111. On receiving thereproduction schedule table, client control unit 1111 posts thereproduction schedule table to client I/O interface unit 513, andrequests transmission request of the data stream. Client I/O interfaceunit 513 transmits the client name which identifies itself and theposted reproduction schedule table to server I/O interface unit 521 vianetwork 530.

Instead of Step 918, data stream output unit 527 reads the data stream,gives the client name to it, and transmits it to I/O interface unit 521.When the transmission of the data stream is completed, the client nameis posted to server control unit 1121.

In the present embodiment, there are no operations that correspond toSteps 1002 and 1004.

Instead of Step 1010, data stream output unit 527 reads the data streamfrom data stream storage unit 526, gives the client name to it, andtransmits the data stream to server I/O interface unit 521. When thetransmission of the data stream is completed, data stream output unit527 posts the client name to server control unit 1121.

Instead of Step 1012, output decoder unit 1113 of client 1101 determineswhether the posted data stream is "Video Null" or not, and if it is"Video Null", stops reproduction to TV monitor 542, and if it is not"Video Null", reproduces the data stream it has received, and goes backto Step 1002.

(Embodiment 3)

FIG. 15 shows the construction of the on-demand communication system ofthe third embodiment of the present invention.

This on-demand communication system comprises a plurality of clients1501, 1502, 1503, . . . and server 1520, and network 530 connecting eachclient and server 1520.

Client 1501 comprises external input interface unit 511, client controlunit 1511, client I/O interface unit 513, reproduction schedule tablestorage unit 514, pause time confirmation unit 1512, clock unit 515,output decoder unit 1113, remote controller 541 which is an input devicefor inputting a viewer instruction to external input interface unit 511,and TV monitor 542 which outputs the video reproduced in output decoderunit 516.

Server 1520 comprises server I/O interface unit 521, input queue bufferunit 522, server control unit 1521, job schedule storage unit 524, alarminterrupt unit 525, data stream storage unit 526, and pause timere-setting unit 1522, and date stream output unit 1523.

The same construction elements as the ones in the first embodiment aregiven the same reference numbers and figures and no explanations aregiven for them. The following explanation will focus on only theelements which are inherent to the present embodiment.

Client control unit 1511 has the following functions in addition to theones of client control unit 512 of the first embodiment. On receivingthe date stream from client I/O interface unit 513, client control unit1511 posts the data stream to output decoder unit 516. Also, byreferring to the clock of clock unit 515, client control unit 1511 poststhe moment TS and the reproduction video name to stop time confirmationunit 1512. On receiving a stop request of the video reproduction fromexternal input interface unit 511, client control unit 5111 instructsoutput decoder unit 516 to stop reproduction of the data stream to TVmonitor 542 for a moment. Also, by referring to the clock of clock unit515, client control unit 1511 posts the moment TE to stop timeconfirmation unit 1512. At the same time, client control unit 1511instructs client I/O interface unit 513 to transmit the date streamtransmission pause request to server 1520.

On receiving the notification of a cancel of a pause of videoreproduction from external input interface unit 5111 client control unit1511 instructs pause confirmation unit 1512 to change the reproductionschedule table. On receiving the notification of the change of thereproduction schedule table from pause confirmation unit 1512, clientcontrol unit 1511 reads the reproduction schedule table fromreproduction schedule table storage unit 514, posts it to client I/Ointerface unit 513, and instructs client I/O interface unit 513 totransmit the pause cancel request.

On receiving the reproduction video name and TS from client control unit1511, pause time confirmation unit 5112 stores TS, and readsreproduction start point TR which corresponds to the reproduction videoname in reproduction schedule table storage unit 514. On receiving TEfrom client control unit 1511, pause time confirmation unit 1512calculates reproduction-completed time TD by TD=TE-TS.

On receiving the instruction to change the reproduction schedule tablefrom client control unit 1511, pause time confirmation unit 1512 updatesthe reproduction start point corresponding to the reproduction videoname in the reproduction schedule table stored in reproduction scheduletable storage unit 514 to "TR+TD". Moreover, pause time confirmationunit 1512 reads TB which is the start time of the video whosereproduction start point has been updated, and updates the start time ofthe following videos from TN(i) to TN(i)-(TB+TD), and updates the starttime TB to "00:00:00". The title whose reproduction has already beencompleted is omitted from the schedule table. When the updating iscompleted, pause time confirmation unit 1512 notifies client controlunit 1511 that the updating has been completed.

For example, when reproduction schedule table 601 in FIG. 6 is stored inreproduction schedule table storage unit 514, and a viewer presses apause button of remote controller 541 in 15 seconds after the start ofthe reproduction of "Video A" on TV monitor 542, and later, presses apause cancel button, reproduction schedule table 1601 shown in FIG. 16is created by pause time confirmation unit 1512.

In addition to the functions of the first embodiment, on receiving theinstruction to temporarily stop data stream transmission from clientcontrol unit 1511, client I/O interface unit 513 transmits the clientname of itself and the transmission pause request to server I/Ointerface unit 521 via network 530.

On receiving the instructions Of the transmission of the reproductionschedule table and the pause cancel request from client control unit1511, client I/O interface unit 513 transmits the client name of itself,the reproduction schedule table, and the pause cancel request to serverI/O interface unit 521 via network 530.

In addition to the functions of server control unit 523 of the firstembodiment, on reading the transmission pause request from input queuebuffer 522, server control unit 1521 instructs data stream output unit1522 to temporarily stop the output of the client name and the datastream. Also, server control unit 1521 posts the client name to alarminterrupt unit 525 and initializes the corresponding timer.

On reading the pause cancel request from input queue buffer 522, servercontrol unit 1521 reads the reproduction schedule table, and updates thetransmission schedule table of client 501 stored in job schedule storageunit 524.

In addition to the functions of the first embodiment, on receiving thetransmission pause request or the pause cancel request from client 1501,server I/O interface unit 521 stores the content in input queue bufferunit 522.

FIG. 17 shows the time chart of the video reproduction in which "pause"and "pause cancel" are carried out in the on-demand communication systemmentioned above. At C₁, transmission temporary stop request of the datastream is transmitted from server 1520 to client 1501, At C₂, which isC₁ +dT₃ (dT₃ -dT₁), the transmission of the data stream from server 1520is stopped for a brief moment. At C₃, a pause cancel request istransmitted from client 1501 to server 1520. At C₄, which is C₃ +dT₄, inserver 1520, the start of the continuation of "Video A" is located. AtC₅, which is C₄ +dT_(a') the transmission of the dote stream of thecontinuation of "Video A" is resumed. At the same time, in client 1501,the continuation of "video A" is reproduced and outputted. There is nodiscontinuation between the content of "Video A" at C₁ and C₅. "Video A"will never be reproduced with some midpoints being jumped.

The operations of the present embodiment can be explained as follows bymeans of FIGS. 18, 19, and 20 The same operations as those of the firstembodiment are given the same step numbers, and explanations for themare omitted. The following explanation will touch on the operationsinherent to the present embodiment.

After Step 908 or step 2016, server I/O interface unit 521 stores thetransmission request of the data stream it has received or the pausecancel request in input queue buffer unit 522 (Step 1802).

On reading the transmission request of the data stream from input queuebuffer unit 522, server control unit 1521 converts the reproductionschedule table to transmission schedule table, and sores it for eachclient in job schedule storage unit 524. On reading the pause cancelrequest, server control unit 1521 reads the transmission schedule tablein input queue buffer unit 522, and updates it to the transmissionschedule table (Step 1804), and goes back to Step 914. on being postedthe start time TS at which the video is outputted to TV monitor 542 fromclient control unit 1511, pause time confirmation unit 1512 stores TS(Step 1902).

Next, client control unit 1511 determines whether the "pause"instruction has been posted (Step 1904). If not, client control unit1511 goes back to Step 1001, and carries out the same processing as thefirst embodiment. In Step 1001, when the next transmission video namedoes not exist in the transmission schedule table, server control unit1521 determines whether the on-going transmission of the data stream hasbeen completed (Step 1905). If that is not the case, server control unit1521 goes back to Stop 1904. If so, server control unit 1521 ends theprocessing. In Step 1002, if the timer does not reach the start time ofthe next transmission video tape, client control unit 1511 goes back toStep 1904,

In Step 1012, if the next video is reproduced and outputted, pause timeconfirmation unit 1512 stores TS which is the moment of the start of theoutput (Step 1906), and goes back to Step 1904.

At Step 1904, if there is an instruction of the pause, client controlunit 1511 posts the reproduction video name being outputted on TVmonitor 542 and TE to pause time confirmation unit 1512 (Step 2002). Onreceiving the instruction from client control unit 1511, output decoderunit 516 temporarily stops the output (Step 2004). On receiving theinstruction from client control unit 1511, client I/O interface unit 513transmits the data stream transmission pause request to server 1520(Step 2006).

On receiving the instruction of transmission pause from server controlunit 1521, data stream output unit 1522 temporarily stops the output ofthe data stream (Step 2008).

Client control unit 1511 waits the viewer's instruction to cancel thepause of the video reproduction via external input interface unit 511(Step 2010).

On receiving the instruction to cancel the pause, pause timeconfirmation unit 1512 calculates TD which is the time whosereproduction is already completed by TD=TE-TS (Step 2012), end creates anew reproduction schedule table (Step 2014).

Client I/O interface unit 513 transmits the transmission pause cancelrequest to server 1520 along with the reproduction schedule table postedvia client control unit 1511 (Step 2016), and goes back to step 1802.

(Embodiment 4)

FIG. 21 shows construction of the on-demand communication system of thefourth embodiment of the present embodiment.

The difference between the present embodiment and the first embodimentis that the present embodiment comprises start notifying unit 2121 inserver 2120 instead of alarm interrupt unit 525 in server 520 of thefirst embodiment.

The same construction elements are given the same reference numbers endno explanations are given for them.

Start notifying unit 2121 comprises a timer for each client. When atimer is activated by server control unit 2122, and reaches a certaintime which is equal to (date stream transmission start time of the nexttitle in the transmission table in job schedule storage unit 524, thatcorresponds to the client of the timer)-(a predetermined time t), startnotifying unit 2121 posts the client name and the instruction to locatethe start to server control unit 2122. When the timer reaches the starttime of the data stream transmission shown by the next title in thetransmission schedule table, start notifying unit 2121 posts the clientname to server control unit 2122.

For the time period t, the maximum time needed for finding the start ofthe data stream stored in data stream storage unit 526, for example onesecond, is set.

In addition to the functions of server control unit 523 of the firstembodiment, server control unit 2122 has the following functions.However, the relationship between the alarm interrupt unit 525 andserver control unit 523 of the first embodiment is excluded,

On reading the reproduction schedule table, which is the transmissionrequest of the data stream from a client, stored in input queue bufferunit 522, server control unit 2122 converts the reproduction scheduletable to the transmission schedule table for each client, stores it injob schedule storage unit 524, and sets a timer for each client that isrequesting transmission of the data stream to start notifying unit 2121.On being posted the notification that the transmission of the datastream has been started along with the client name from data streamoutput unit 2123, server control unit 2122 initializes and activates thetimer of client 501 in start notifying unit 2121. On receiving thenotification of the client name and the instruction to locate the startfrom start notifying unit 2121, input queue buffer unit 522 reads thetransmission video name which is next to the marked video name in thetransmission schedule table of client 501 stored in job schedule storedunit 524 and the transmission start point, and posts them to data streamoutput unit 2123 along with the client name.

On receiving the notification of the client name from start notifyingunit 2121, server control unit 2122 reads the transmission video namewhich is next to the marked one in the transmission schedule table ofclient 501 stored in job schedule storage unit 524, and removes the markto the next transmission video name. At the same time, server controlunit 2122 posts the transmission video name, its transmission end point,and the client name to data stream output unit 2123.

On receiving the instruction of the transmission of the reproductionschedule table from server control unit 2122, data stream output unit2123 reads the reproduction schedule table stored in data stream storageunit 526, and posts it to server I/O interface unit 521 along with theclient name.

On receiving the notification of the transmission video name, itstransmission start point, and the client name from server control unit2122, data stream output unit 2123 locates the start of the data streamwhose title is identified by the transmission video name of data streamstorage unit 526 beforehand. On receiving the transmission video name,its transmission end point, and the client name from server control unit2122, data stream output unit 2123 transmits the data stream whose startis being located to input interface unit 521 along with the client name.

FIG. 22 shows the time chart of the video reproduction in the on-demandcommunication system mentioned above. At A₀, client 501 transmits thetransmission request of the data stream to server 2120. At server 2120,it takes dT₁ for processing. At A₁, the start of "Video A" is located.At A₂, transmission of the data stream is started. Also at A₂, client501 starts output of the reproduction of "Video A".

Output unit 2123 of the data stream of server 2120 starts locating thestart of "Video B" at A₃, which is one second prior to the start time ofthe data stream transmission of "Video B". And at A₄, output unit 2123starts output of the data stream of "Video B".

In client 501, reproduction output of "Video B" is started almost at thesame time as A₄.

In server 2120, the start of "Video C" is located at A₇ set prior to A₈which is the transmission start time of "Video C". The time differencebetween A₇ and A₅ are predetermined. At A₈, data stream ot "Video C" istransmitted to client 501. Client 501 reproduces and outputs "Video C"at A₈.

The operations of the present embodiment can be explained as follows bymeans of the flow chart of FIGS. 9 and 23. The same operations as thefirst embodiment are given the same step numbers, and explanations forthem are omitted.

In addition to Step 918, data stream is transmitted from server 2120 toclient 501, and a timer corresponding to client 501 in start notifyingunit 2121 is activated.

In Step 1001, when there is the next transmission video name, startnotifying unit 2121 waits until the timer reaches one second prior tothe start time of the next transmission video (Step 2302), and when thetime comes, posts the client name to server control unit 2122. Servercontrol unit 2122 posts the next transmission video name to data streamtransmission unit 2123 (Step 2304). Data stream output unit 2123 locatesthe beginning of the data stream to be transmitted next beforehand (Step2306). Start notifying unit 2121 waits until the timer reaches the starttime of the next transmission video (Step 1002), and when the timecomes, posts the client name to server control unit 2122. Server controlunit 2122 posts the next transmission video name and the list to datastream output unit 2123. Data stream output unit transmits the datastream to client 501 via server I/O interface unit 521 and network 530(Step 2308).

In the embodiments mentioned above, transmission between servers andclients are carried out by optical fiber circuits of network 530. Also,satellite digital broadcasting can be used as an another embodiment.

Although the present invention has been fully described by way ofexamples with reference to the accompanying drawings, it is to be notedthat various changes and modifications will be apparent to those skilledin the art. Therefore, unless such changes and modifications depart formthe scope of the present invention, they should be construed as beingincluded therein.

What is claimed is:
 1. An on-demand communication system in which aplurality of clients and a multi-media server are connected via anetwork and a data stream is transmitted in response to a transmissionrequest of a title from one of the clients, each clientcomprising:transmission means which transmits a set of reproductioninformation comprising a plurality of titles and reproduction start timeof each of their the data streams to the server along with a clientidentifier for identification; reception means for receiving the datastream transmitted from the server; and reproduction and output meansfor reproducing and outputting the data stream received by the receptionmeans, the server comprising:reception buffer for temporarily storingthe set of the reproduction information and the client identifiertransmitted from the transmission means; transmission informationcreation means for reading the set of the reproduction information andthe client identifier stored in the reception buffer and creating a setof transmission information for each client, wherein the transmissioninformation includes a title and a transmission start time that areequal to the title and the reproduction start time in the reproductioninformation; transmission information storage means for storing the setof the transmission information for each client which was created by thetransmission information creation means; data stream storage means forstoring groups of data stream per title; transmission instruction meansfor reading the set of the transmission information stored in thetransmission information storage means and giving a transmissioninstruction when the transmission start time comes; and data streamtransmission means for reading the data stream which corresponds to thetitle in the transmission information and is stored in the data streamstorage means and transmitting it to the client,wherein the transmissioninstruction includes the title and the client identifier.
 2. Theon-demand communication system of claim 1, wherein the server furtherincludes:start-locating instruction means which reads the set oftransmission information stored in the transmission information storagemeans and instructs locating a start of the data stream at a given timeearlier than the transmission start time; and data stream start-locatingmeans for locating the start of the data stream on receiving theinstruction from the start-locating means.
 3. The on-demandcommunication system of claim 2, wherein the transmission informationcreated by the transmission information creation means comprisestransmission point information including a transmission start point anda transmission end point of the data stream of the title, and thereproduction information transmitted from the client includesreproduction point information including a reproduction start point anda reproduction end point of the data stream of the title,wherein thestart-locating instruction means of the server includes; first timerunit which activates a timer assigned to the client and measures timewhen the data stream transmission means starts transmitting the datastream; launch of start-locating determination unit for determiningwhether the time measured by the timer unit has reached the given timeearlier than the transmission start time; and first instruction unitwhich instructs the data stream start-locating means to locate the startof the data stream, posting the transmission start point of the datastream of the title.
 4. The on-demand communication system of claim 3,wherein the transmission instruction means of the server includes:secondtimer unit which activates a timer assigned to the client and measurestime when the data stream transmission means starts transmitting thedata stream; transmission start determination unit for determiningwhether the time measured by the timer unit has reached the transmissionstart time; and second instruction unit which instructs the data streamtransmission means to transmit the data stream, posting the transmissionend point of the data stream of the title.
 5. The on-demandcommunication system of claim 4, wherein the reproduction pointinformation and the transmission point information are shown by the timeneeded when the data stream of the title is reproduced under a normalcondition.
 6. The on-demand communication system of claim 5, whereineach client further includes:reproduction information obtaining meansfor obtaining a list of the sets of reproduction information which canbe received from the server; and reproduction information set selectionmeans which receives one of the sets of the reproduction informationselected by a viewer.
 7. The on-demand communication system of claim 1,wherein the transmission information created by the transmissioninformation creation means comprises transmission point informationincluding a transmission start point and a transmission end point of thedata stream of the title, wherein the reproduction informationtransmitted from the client includes reproduction point informationincluding a reproduction start point and a reproduction end point of thedata stream of the title,wherein the transmission instruction means ofthe server includes;timer unit which activates a timer assigned to theclient and measures time when the data stream transmission means startstransmitting the data stream; transmission start determination unit fordetermining whether the time measured by the timer unit has reached thetransmission start time; and instruction unit which instructs the datastream transmission means to transmit the date stream, posting thetransmission point information, when the transmission startdetermination unit determines that the time measured by the timer unithas reached the transmission start time, wherein the data streamtransmission means includes:start-locating unit for locating the startof the data stream on being given the transmission instruction includingthe transmission start point of the data stream of the title from theinstruction unit; timer interruption unit which stops the timer in thetimer unit while the start-locating unit is locating the start of thedata stream; and transmission unit for transmitting the data stream upto the transmission end point after the start of the data stream islocated by the start-locating unit.
 8. The on-demand communicationsystem of claim 7, wherein the reproduction point information and thetransmission point information are shown by the time needed when thedata stream of the title is reproduced under a normal condition.
 9. Theon-demand communication system of claim 8, wherein each client furtherincludes:reproduction information obtaining means for obtaining a listof the sets of reproduction information which can be received from theserver; and reproduction information set selection means which receivesone of the sets of the reproduction information selected by a viewer.10. The on-demand communication system of claim 1, wherein the clientfurther includes:reproduction information adding means which adds newreproduction information between continuing two units of reproductioninformation when the null time can be recognized by the reproductionstart time and the reproduction point information between two datastreams belonging to the continuing two units of reproductioninformation, respectively, the new reproduction information including adummy title and reproduction start time of the date stream of the dummytitle, wherein the reproduction information transmitted by thetransmission means comprises the reproduction point information shown bythe time needed when the reproduction start point and the reproductionend point of the data stream of the title are reproduced under a normalcondition; reproduction and output prohibiting means for prohibiting thereproduction and output of the reproduction output means while thereception means is receiving the dummy date stream, which includes areproduction and output prohibiting request; wherein the server furtherincludes:dummy data stream storage means for storing the dummy datastream of the dummy title; and dummy data stream transmission meanswhich reads the dummy data stream stored in the dummy data streamstorage means and transmits it to the client when the dummy title isincluded in the transmission instruction.
 11. The on-demandcommunication system of claim 10, wherein the reproduction informationadding means includes:reproduction and time calculating unit whichcalculates K₄ =K₁ +(K₃ -K₂), with K₁ being the reproduction start time,K₂ being the reproduction start point, K₃ being the reproduction endpoint, and K₄ being the reproduction end time of the data stream of thetitle; null time determination unit which determines that null timeexists when K₆ =0 after calculating K₆ =K₅ -K₄, with K₅ being thereproduction start time of the data stream of the next title;reproduction information inserting unit which inserts the reproductioninformation of the dummy title whose data stream reproduction start timeis K₄, data stream reproduction start point is "0", and data streamreproduction end point is K₆ when the null time determination unitdetermines that the null time exists.
 12. The on-demand communicationsystem of claim 11, wherein the reproduction point information and thetransmission point information are shown by the time needed when thedata stream of the title is reproduced under a normal condition.
 13. Theon-demand communication system of claim 12, wherein each client furtherincludes:reproduction information obtaining means for obtaining a listof the sets of reproduction information which can be received from theserver; and reproduction information sot selection means which receivesone of the sets of the reproduction information selected by a viewer.14. The on-demand communication system of claim 1, wherein each clientfurther includes:reproduction pause operation means which temporarilystops the reproduction and output of the reproduction output means;reproduction time measuring means which measures the reproduction timeof the data stream of the title until the reproduction and output of thereproduction output means is temporarily stopped; pause requesttransmission means which transmits a pause request of the transmissionof the data stream to the server when the reproduction and output istemporarily stopped; pause cancel operation means which receives acancel request of the pause; reproduction information change means whichchanges the set of the reproduction information based on thereproduction time measured by the reproduction time measuring means whenthe cancel request is received, wherein the reproduction informationcomprises the reproduction point information including the reproductionstart point and the reproduction end point of the data stream of thetitle; cancel request transmission means for transmitting the clientidentifier and the set of the reproduction information changed by thereproduction information change means to the server along with thecancel request,wherein the server further includes: pause request andcancel request receiving buffer which temporarily stores the pauserequest transmitted from the pause request transmission means and thecancel request including the set of the reproduction information and theclient identifier transmitted from the cancel request transmissionmeans; transmission pause instruction means which reads the pauserequest stored in the pause request and cancel request receiving bufferand instructs the data stream transmission means to temporarily stop thetransmission of the data stream to the client, thereby the data streamtransmission means temporarily stops the transmission of the data streamto the client; transmission information change means which reads the setof the reproduction information and the client identifier stored in thepause request and cancel request receiving buffer, creates newtransmission information, and changes the transmission information ofthe client already stored in the transmission information storage meansto the new transmission information; and pause cancel instruction meanswhich activates the transmission instruction means when the transmissioninformation change means changes the transmission information.
 15. Theon-demand communication system of claim 14, wherein the reproductioninformation change means includes:reproduction start time calculatingunit which calculates TN=TN-(TB+TD), with TB being the reproductionstart time of the data of the title whose reproduction and output istemporarily stopped, TN being the start time of the data stream of thetitle to be reproduced after the said title, TD being the reproductiontime measured by the reproduction time measuring means; reproductioninformation updating unit which updates the start time of the datestream of the title to be reproduced after the title whose reproductionand output is temporarily stopped to TN calculated by the reproductionstart time calculation unit, the start time of the data stream of thetitle whose reproduction and output is temporarily stopped to "0", and"TR" to "TR+TD", with TR being the reproduction start point of the titlewhose reproduction and output is temporarily stopped; reproductioninformation deletion unit for deleting the reproduction information ofthe title reproduced before the title whose reproduction and output istemporarily stopped from the set of the reproduction information. 16.The on-demand communication system of claim 15, wherein the reproductionpoint information and the transmission point information are shown bythe time needed when the data stream of the title is reproduced under anormal condition.
 17. The on-demand communication system of claim 16,wherein each client further includes:reproduction information obtainingmeans for obtaining a list of the sets of reproduction information whichcan be received from the server; and reproduction information sotselection means which receives one of the sets of the reproductioninformation selected by a viewer.